package com.dragon.refect.clazz;

/**
 * getSuperClass()
 * 返回表示该类表示的实体（类，接口，原始类型或void）的超类的Class。
 * 如果该Class表示Object类，接口，原始类型或void，则返回null。 如果此对象表示数组类，则返回表示Object类的Class对象。
 *
 * getGenericSuperClass()
 * 表示返回该class的父class(带有参数化类型的)
 * @author dragon
 * @since 2019/12/1
 */
public class ClassGetSuperClassTest {

    public static void main(String[] args) {
        System.out.println("getSuperClass: " + Zi.class.getSuperclass());
        System.out.println("getGenericSuperClass: " + Zi.class.getGenericSuperclass());

        System.out.println(InterfaceA.class.getSuperclass());

        Zi<Integer, String> zi = new Zi<>();
        System.out.println(zi.getClass().getSuperclass());
        System.out.println(zi.getClass().getGenericSuperclass());
    }
}
